package com.founder.chd_daily_query.entity.query;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.*;
import java.sql.Time;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "WATER_COAL_DEMANDPLAN", schema = "RBD_RESULT", catalog = "")
public class WaterCoalDemandplanEntity {
    private String demandSupplierId;
    private String demandPlanId;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    private Date demandPlanDate;
    private String areaCompanyId;
    private String powerstationId;
    private Long earlierTermQuantity;
    private Long laterTermQuantity;
    private Long stockTrend;
    private String estElectricityProduce;
    private Long heatConsumption;
    private Long coalConsumeTotal;
    private Long contractAmountYear;
    private String planAttributeType;
    private String priceAttributeId;
    private String qnet;
    private String std;
    private String supplierUnitId;
    private String coalCategoryId;
    private String supplyAreaName;
    private Long purchaseTotal;
    private Long onlaodPrice;
    private Long naturalCoalUnitprice;
    private Long standardCoalUnitprice;
    private Long heatCoalConsume;
    private Long boilerHeatValue;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    private Date createDate;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    private Date lastUpdateDate;
    private String supplyProvinceId;

    @Id
    @Column(name = "DEMAND_SUPPLIER_ID")
    public String getDemandSupplierId() {
        return demandSupplierId;
    }

    public void setDemandSupplierId(String demandSupplierId) {
        this.demandSupplierId = demandSupplierId;
    }


    @Basic
    @Column(name = "DEMAND_PLAN_ID")
    public String getDemandPlanId() {
        return demandPlanId;
    }

    public void setDemandPlanId(String demandPlanId) {
        this.demandPlanId = demandPlanId;
    }

    @Basic
    @Column(name = "DEMAND_PLAN_DATE")
    public Date getDemandPlanDate() {
        return demandPlanDate;
    }

    public void setDemandPlanDate(Date demandPlanDate) {
        this.demandPlanDate = demandPlanDate;
    }

    @Basic
    @Column(name = "AREA_COMPANY_ID")
    public String getAreaCompanyId() {
        return areaCompanyId;
    }

    public void setAreaCompanyId(String areaCompanyId) {
        this.areaCompanyId = areaCompanyId;
    }

    @Basic
    @Column(name = "POWERSTATION_ID")
    public String getPowerstationId() {
        return powerstationId;
    }

    public void setPowerstationId(String powerstationId) {
        this.powerstationId = powerstationId;
    }

    @Basic
    @Column(name = "EARLIER_TERM_QUANTITY")
    public Long getEarlierTermQuantity() {
        return earlierTermQuantity;
    }

    public void setEarlierTermQuantity(Long earlierTermQuantity) {
        this.earlierTermQuantity = earlierTermQuantity;
    }

    @Basic
    @Column(name = "LATER_TERM_QUANTITY")
    public Long getLaterTermQuantity() {
        return laterTermQuantity;
    }

    public void setLaterTermQuantity(Long laterTermQuantity) {
        this.laterTermQuantity = laterTermQuantity;
    }

    @Basic
    @Column(name = "STOCK_TREND")
    public Long getStockTrend() {
        return stockTrend;
    }

    public void setStockTrend(Long stockTrend) {
        this.stockTrend = stockTrend;
    }

    @Basic
    @Column(name = "EST_ELECTRICITY_PRODUCE")
    public String getEstElectricityProduce() {
        return estElectricityProduce;
    }

    public void setEstElectricityProduce(String estElectricityProduce) {
        this.estElectricityProduce = estElectricityProduce;
    }

    @Basic
    @Column(name = "HEAT_CONSUMPTION")
    public Long getHeatConsumption() {
        return heatConsumption;
    }

    public void setHeatConsumption(Long heatConsumption) {
        this.heatConsumption = heatConsumption;
    }

    @Basic
    @Column(name = "COAL_CONSUME_TOTAL")
    public Long getCoalConsumeTotal() {
        return coalConsumeTotal;
    }

    public void setCoalConsumeTotal(Long coalConsumeTotal) {
        this.coalConsumeTotal = coalConsumeTotal;
    }

    @Basic
    @Column(name = "CONTRACT_AMOUNT_YEAR")
    public Long getContractAmountYear() {
        return contractAmountYear;
    }

    public void setContractAmountYear(Long contractAmountYear) {
        this.contractAmountYear = contractAmountYear;
    }

    @Basic
    @Column(name = "PLAN_ATTRIBUTE_TYPE")
    public String getPlanAttributeType() {
        return planAttributeType;
    }

    public void setPlanAttributeType(String planAttributeType) {
        this.planAttributeType = planAttributeType;
    }

    @Basic
    @Column(name = "PRICE_ATTRIBUTE_ID")
    public String getPriceAttributeId() {
        return priceAttributeId;
    }

    public void setPriceAttributeId(String priceAttributeId) {
        this.priceAttributeId = priceAttributeId;
    }

    @Basic
    @Column(name = "QNET")
    public String getQnet() {
        return qnet;
    }

    public void setQnet(String qnet) {
        this.qnet = qnet;
    }

    @Basic
    @Column(name = "STD")
    public String getStd() {
        return std;
    }

    public void setStd(String std) {
        this.std = std;
    }

    @Basic
    @Column(name = "SUPPLIER_UNIT_ID")
    public String getSupplierUnitId() {
        return supplierUnitId;
    }

    public void setSupplierUnitId(String supplierUnitId) {
        this.supplierUnitId = supplierUnitId;
    }

    @Basic
    @Column(name = "COAL_CATEGORY_ID")
    public String getCoalCategoryId() {
        return coalCategoryId;
    }

    public void setCoalCategoryId(String coalCategoryId) {
        this.coalCategoryId = coalCategoryId;
    }

    @Basic
    @Column(name = "SUPPLY_AREA_NAME")
    public String getSupplyAreaName() {
        return supplyAreaName;
    }

    public void setSupplyAreaName(String supplyAreaName) {
        this.supplyAreaName = supplyAreaName;
    }

    @Basic
    @Column(name = "PURCHASE_TOTAL")
    public Long getPurchaseTotal() {
        return purchaseTotal;
    }

    public void setPurchaseTotal(Long purchaseTotal) {
        this.purchaseTotal = purchaseTotal;
    }

    @Basic
    @Column(name = "ONLAOD_PRICE")
    public Long getOnlaodPrice() {
        return onlaodPrice;
    }

    public void setOnlaodPrice(Long onlaodPrice) {
        this.onlaodPrice = onlaodPrice;
    }

    @Basic
    @Column(name = "NATURAL_COAL_UNITPRICE")
    public Long getNaturalCoalUnitprice() {
        return naturalCoalUnitprice;
    }

    public void setNaturalCoalUnitprice(Long naturalCoalUnitprice) {
        this.naturalCoalUnitprice = naturalCoalUnitprice;
    }

    @Basic
    @Column(name = "STANDARD_COAL_UNITPRICE")
    public Long getStandardCoalUnitprice() {
        return standardCoalUnitprice;
    }

    public void setStandardCoalUnitprice(Long standardCoalUnitprice) {
        this.standardCoalUnitprice = standardCoalUnitprice;
    }

    @Basic
    @Column(name = "HEAT_COAL_CONSUME")
    public Long getHeatCoalConsume() {
        return heatCoalConsume;
    }

    public void setHeatCoalConsume(Long heatCoalConsume) {
        this.heatCoalConsume = heatCoalConsume;
    }

    @Basic
    @Column(name = "BOILER_HEAT_VALUE")
    public Long getBoilerHeatValue() {
        return boilerHeatValue;
    }

    public void setBoilerHeatValue(Long boilerHeatValue) {
        this.boilerHeatValue = boilerHeatValue;
    }

    @Basic
    @Column(name = "CREATE_DATE")
    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    @Basic
    @Column(name = "LAST_UPDATE_DATE")
    public Date getLastUpdateDate() {
        return lastUpdateDate;
    }

    public void setLastUpdateDate(Date lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }

    @Basic
    @Column(name = "SUPPLY_PROVINCE_ID")
    public String getSupplyProvinceId() {
        return supplyProvinceId;
    }

    public void setSupplyProvinceId(String supplyProvinceId) {
        this.supplyProvinceId = supplyProvinceId;
    }

    @Override
    public String toString() {
        return "WaterCoalDemandplanEntity{" +
                "demandSupplierId='" + demandSupplierId + '\'' +
                ", demandPlanId='" + demandPlanId + '\'' +
                ", demandPlanDate=" + demandPlanDate +
                ", areaCompanyId='" + areaCompanyId + '\'' +
                ", powerstationId='" + powerstationId + '\'' +
                ", earlierTermQuantity=" + earlierTermQuantity +
                ", laterTermQuantity=" + laterTermQuantity +
                ", stockTrend=" + stockTrend +
                ", estElectricityProduce='" + estElectricityProduce + '\'' +
                ", heatConsumption=" + heatConsumption +
                ", coalConsumeTotal=" + coalConsumeTotal +
                ", contractAmountYear=" + contractAmountYear +
                ", planAttributeType='" + planAttributeType + '\'' +
                ", priceAttributeId='" + priceAttributeId + '\'' +
                ", qnet='" + qnet + '\'' +
                ", std='" + std + '\'' +
                ", supplierUnitId='" + supplierUnitId + '\'' +
                ", coalCategoryId='" + coalCategoryId + '\'' +
                ", supplyAreaName='" + supplyAreaName + '\'' +
                ", purchaseTotal=" + purchaseTotal +
                ", onlaodPrice=" + onlaodPrice +
                ", naturalCoalUnitprice=" + naturalCoalUnitprice +
                ", standardCoalUnitprice=" + standardCoalUnitprice +
                ", heatCoalConsume=" + heatCoalConsume +
                ", boilerHeatValue=" + boilerHeatValue +
                ", createDate=" + createDate +
                ", lastUpdateDate=" + lastUpdateDate +
                ", supplyProvinceId='" + supplyProvinceId + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        WaterCoalDemandplanEntity that = (WaterCoalDemandplanEntity) o;
        return Objects.equals(demandSupplierId, that.demandSupplierId) &&
                Objects.equals(demandPlanId, that.demandPlanId) &&
                Objects.equals(demandPlanDate, that.demandPlanDate) &&
                Objects.equals(areaCompanyId, that.areaCompanyId) &&
                Objects.equals(powerstationId, that.powerstationId) &&
                Objects.equals(earlierTermQuantity, that.earlierTermQuantity) &&
                Objects.equals(laterTermQuantity, that.laterTermQuantity) &&
                Objects.equals(stockTrend, that.stockTrend) &&
                Objects.equals(estElectricityProduce, that.estElectricityProduce) &&
                Objects.equals(heatConsumption, that.heatConsumption) &&
                Objects.equals(coalConsumeTotal, that.coalConsumeTotal) &&
                Objects.equals(contractAmountYear, that.contractAmountYear) &&
                Objects.equals(planAttributeType, that.planAttributeType) &&
                Objects.equals(priceAttributeId, that.priceAttributeId) &&
                Objects.equals(qnet, that.qnet) &&
                Objects.equals(std, that.std) &&
                Objects.equals(supplierUnitId, that.supplierUnitId) &&
                Objects.equals(coalCategoryId, that.coalCategoryId) &&
                Objects.equals(supplyAreaName, that.supplyAreaName) &&
                Objects.equals(purchaseTotal, that.purchaseTotal) &&
                Objects.equals(onlaodPrice, that.onlaodPrice) &&
                Objects.equals(naturalCoalUnitprice, that.naturalCoalUnitprice) &&
                Objects.equals(standardCoalUnitprice, that.standardCoalUnitprice) &&
                Objects.equals(heatCoalConsume, that.heatCoalConsume) &&
                Objects.equals(boilerHeatValue, that.boilerHeatValue) &&
                Objects.equals(createDate, that.createDate) &&
                Objects.equals(lastUpdateDate, that.lastUpdateDate) &&
                Objects.equals(supplyProvinceId, that.supplyProvinceId);
    }

    @Override
    public int hashCode() {

        return Objects.hash(demandSupplierId, demandPlanId, demandPlanDate, areaCompanyId, powerstationId, earlierTermQuantity, laterTermQuantity, stockTrend, estElectricityProduce, heatConsumption, coalConsumeTotal, contractAmountYear, planAttributeType, priceAttributeId, qnet, std, supplierUnitId, coalCategoryId, supplyAreaName, purchaseTotal, onlaodPrice, naturalCoalUnitprice, standardCoalUnitprice, heatCoalConsume, boilerHeatValue, createDate, lastUpdateDate, supplyProvinceId);
    }
}
